import Vue from 'vue'
import Vuex from 'vuex'
import http from "../api/index.js"

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
	  cartlist:[]
  },
  getters:{
	 cartnum:(state)=>{//循环 cartlist 求，数量的和
	     if(state.cartlist.length==0){//如果数据是空的，就直接返回0，不需要循环计算
			 return 0;
		 }
		 return state.cartlist.reduce((result,item)=>{
			 return result+item.goodsCount;
		 },0)
	 }
  },
  mutations: {
	  changeCartlist(state,payload){
		payload.map(item=>{//缺少 选中的状态，循环添加
			item.checked=false;
			return item;
		})
		state.cartlist=payload;
	  }
  },
  actions: {
	  asyncCartList(context){
		http.getCartList().then(data=>{
			console.log(data);
			if(data.resultCode==200){
				context.commit("changeCartlist",data.data)
			}
		}).catch(err=>{
			console.log(err);
		}) 
	  }
  },
  modules: {
  }
})
